bitkeeper revision 1.1159.5.1 (4115e98dPNWH4xtwe1JdP6o99WWTCQ)
authorcl349@freefall.cl.cam.ac.uk <cl349@freefall.cl.cam.ac.uk>
Sun, 8 Aug 2004 08:51:25 +0000 (08:51 +0000)
committercl349@freefall.cl.cam.ac.uk <cl349@freefall.cl.cam.ac.uk>
Sun, 8 Aug 2004 08:51:25 +0000 (08:51 +0000)
Always select our idle loop.

linux-2.6.7-xen-sparse/arch/xen/i386/kernel/process.c
linux-2.6.7-xen-sparse/arch/xen/i386/kernel/setup.c

index c2642854feda064b40e9a34a0f30a1e190409557..f67d8f8d91629ae8fb93079bafb2a304d47092f8 100644 (file)
@@ -193,7 +193,8 @@ void __init select_idle_routine(const struct cpuinfo_x86 *c)
                }
                return;
        }
-       pm_idle = xen_cpu_idle;
+       if (!pm_idle)
+               pm_idle = default_idle;
        return;
 }
 
index 7b0057dce2be09ad458bbdfdcdc00620a9f39718..dbc4fbdb9a552d9889b1353bbf803abce79eae2f 100644 (file)
@@ -148,6 +148,8 @@ int nr_multicall_ents = 0;
 /* Raw start-of-day parameters from the hypervisor. */
 union start_info_union start_info_union;
 
+extern void (*pm_idle)(void);
+
 static void __init limit_regions(unsigned long long size)
 {
        unsigned long long current_addr = 0;
@@ -1105,6 +1107,8 @@ void __init setup_arch(char **cmdline_p)
                             VMASST_TYPE_writeable_pagetables);
 #endif
 
+       pm_idle = xen_cpu_idle;
+
        memcpy(&boot_cpu_data, &new_cpu_data, sizeof(new_cpu_data));
        early_cpu_init();